# -*-coding:utf-8-*-
"""
@project: python-project
@Time: 2024/1/1019:53
@Auth: Loneliness_Burial
@File: 小猫转圈.py
@Motto: 深情不改必坠死海
"""
import pygame
import sys
from pygame.locals import *

pygame.init()  # 初始化pygame
FPS = 30  # 设置帧速率为30
fpsClock = pygame.time.Clock()  # 创建Clock对象
DISPLAYSURF = pygame.display.set_mode((800, 600), 0, 32)  # 设置窗口大小 depth参数表示颜色位数 0表示自动匹配
WHITE = (255, 255, 255)  # 设置颜色
catImg = pygame.image.load('cat.png')  # 加载图片
catx = 10  # 设置图片初始位置
caty = 10  # 设置图片初始位置
direction = 'right'  # 设置初始方向
go_flag = False  # 设置循环标志
test_i = 0  # 设置循环标志
while True:  # The main game loop  # 游戏主循环
    print(test_i)  # 打印循环次数
    DISPLAYSURF.fill(WHITE)  # 设置背景色
    if go_flag:  # 判断循环标志是否为True
        if direction == 'right':  # 判断方向是否为右
            catx += 5  # 设置图片水平移动
            if catx == 600:  # 判断图片是否到达右边界
                direction = 'down'  # 设置方向为下
        elif direction == 'down':  # 判断方向是否为下
            caty += 5  # 设置图片垂直移动
            if caty == 500:  # 判断图片是否到达下边界
                direction = 'left'
                # 图片翻转
                catImg = pygame.transform.flip(catImg, True, False)
        elif direction == 'left':  # 判断方向是否为左
            catx -= 5  # 设置图片水平移动
            if catx == 10:  # 判断图片是否到达左边界
                direction = 'up'
        elif direction == 'up':  # 判断方向是否为上
            caty -= 5  # 设置图片垂直移动
            if caty == 10:  # 判断图片是否到达上边界
                direction = 'right'
                # 图片翻转
                catImg = pygame.transform.flip(catImg, True, False)
    DISPLAYSURF.blit(catImg, (catx, caty))  # 将图片绘制到窗口中
    for event in pygame.event.get():  # 获取事件
        if event.type == QUIT:  # 判断事件是否为退出事件
            pygame.quit()  # 退出pygame
            sys.exit()  # 退出系统
        if event.type == MOUSEBUTTONDOWN: # 判断事件是否为鼠标按下事件
            go_flag = True # 设置循环标志为True
            FPS += 30 # 帧速率加30
            print(FPS) # 打印帧速率

    pygame.display.flip()  # 更新全部显示
    fpsClock.tick(FPS)  # 设置帧速率为30
    test_i += 1  # 循环次数加1
